/*
 * @Copyright: 2017 www.yyfax.com Inc. All rights reserved.
 */
package com.yyfax.pay.common.enums;

import com.yyfax.framework.yyfax.enums.RspCodeEnum;

/**
 * 子类
 * 
 * @author jiangmy
 * @date 2017-04-12 10:14:09
 * @since v1.0.0
 */
@SuppressWarnings("serial")
public class PayRspCodeEnum extends RspCodeEnum {

	public static final RspCodeEnum PAY_CODE_PAY_FAIL = build("PAY_CODE_PAY_FAIL", 500100, "支付失败", "支付失败");

	public static final RspCodeEnum PAY_CODE_PAYOUT_FAIL = build("PAY_CODE_PAYOUT_FAIL", 500101, "代付失败", "代付失败");
	public static final RspCodeEnum PAY_CODE_NOTIFY_FAIL = build("PAY_CODE_NOTIFY_FAIL", 500102, "通知失败（异步通知商户结果）", "通知失败（异步通知商户结果）");
	public static final RspCodeEnum PAY_CODE_QUERY_ORDER_FAIL = build("PAY_CODE_QUERY_ORDER_FAIL", 500103, "查询订单结果失败", "查询订单结果失败");
	public static final RspCodeEnum PAY_CODE_VALID_CODE_EXPIRE = build("PAY_CODE_VALID_CODE_EXPIRE", 500104, "验证码失效", "验证码失效");
	public static final RspCodeEnum PAY_CODE_CHECK_SIGN_FAIL = build("PAY_CODE_CHECK_SIGN_FAIL", 500105, "验签失败", "验签失败");
	/** 订单已经关闭，或者订单已经出支付结果 */
	public static final RspCodeEnum PAY_CODE_PAY_ORDER_IS_CLOSE = build("PAY_CODE_PAY_ORDER_IS_CLOSE", 500106, "订单已经关闭/失效", "订单已经关闭/失效");
	public static final RspCodeEnum PAY_CODE_BANK_NOT_SUPPORT = build("PAY_CODE_BANK_NOT_SUPPORT", 500107, "不支持的银行", "不支持的银行");
	public static final RspCodeEnum PAY_CODE_CARD_EXCEPTION = build("PAY_CODE_CARD_NOT_EXCEPTION", 500108, "银行卡输入有误", "银行卡输入有误");
	public static final RspCodeEnum PAY_CODE_CARD_TYPE_NOT_SUPPORT = build("PAY_CODE_CARD_TYPE_NOT_SUPPORT", 500109, "不支持的银行卡类型", "不支持的银行卡类型");
	public static final RspCodeEnum PAY_CODE_PAYMENT_CODE_NOT_HIT = build("PAY_CODE_PAYMENT_CODE_NOT_HIT", 500110, "支付渠道不匹配", "支付渠道不匹配");
	public static final RspCodeEnum PAY_CODE_MERCHANT_NOT_SUPPORT_PAYMENT = build("PAY_CODE_MERCHANT_NOT_SUPPORT_PAYMENT", 500111, "商户不支持该支付通道",
			"商户不支持该支付通道");
	public static final RspCodeEnum PAY_CODE_USER_PAY_INFO_EXCEPTION = build("PAY_CODE_USER_PAY_INFO_EXCEPTION", 500112, "用户支付信息异常", "用户支付信息异常");
	public static final RspCodeEnum PAY_CODE_AUTH_FAIL = build("PAY_CODE_AUTH_FAIL", 500113, "鉴权失败", "鉴权失败");
	public static final RspCodeEnum PAY_CODE_GET_AUTH_VERIFY_CODE_FAIL = build("PAY_CODE_GET_AUTH_VERIFY_CODE_FAIL", 500114, "获取鉴权动态码失败",
			"获取鉴权动态码失败");
	public static final RspCodeEnum PAY_CODE_GET_PAY_VERIFY_CODE_FAIL = build("PAY_CODE_GET_PAY_VERIFY_CODE_FAIL", 500115, "获取支付动态码失败", "获取支付动态码失败");
	public static final RspCodeEnum PAY_CODE_ORDER_DUPLICATE = build("PAY_CODE_ORDER_DUPLICATE", 500116, "订单重复", "订单重复");
	public static final RspCodeEnum PAY_CODE_QUERY_CARD_BIN_ERROR = build("PAY_CODE_QUERY_CARD_BIN_ERROR", 500117, "查询卡bin异常", "查询卡bin异常");
	public static final RspCodeEnum PAY_CODE_ILLEGAL_PAYMENT_CODE = build("PAY_CODE_ILLEGAL_PAYMENT_CODE", 500118, "非法的支付通道", "非法的支付通道");
	public static final RspCodeEnum PAY_CODE_REMOVE_USER_PAYMENT_FAIL = build("PAY_CODE_REMOVE_USER_PAYMENT_FAIL", 500119, "删除用户支付认证信息失败",
			"删除用户支付认证信息失败");
	public static final RspCodeEnum PAY_CODE_ID_NO_ERROR = build("PAY_CODE_ID_NO_ERROR", 500120, "证件号码已经存在/证件号码不一致", "证件号码已经存在/证件号码不一致");
	public static final RspCodeEnum PAY_CODE_AUTH_INFO_NOT_CONSISTENCY = build("PAY_CODE_AUTH_INFO_NOT_CONSISTENCY", 500121, "用户鉴权信息一致性异常",
			"用户鉴权信息一致性异常");
	public static final RspCodeEnum PAY_CODE_AUTH_IS_CONFIRMED = build("PAY_CODE_AUTH_IS_CONFIRMED", 500122, "用户已鉴权", "用户已鉴权");
	public static final RspCodeEnum PAY_CODE_UNKNOWN = build("PAY_CODE_UNKNOWN", 500124, "未知异常", "未知异常");
	public static final RspCodeEnum PAY_CODE_PAYOUT_BATCH_NO_NOT_FOUND = build("PAY_CODE_PAYOUT_BATCH_NO_NOT_FOUND", 500125, "批次号未找到", "批次号未找到");
	public static final RspCodeEnum PAY_CODE_PAYOUT_NO_SEND = build("PAY_CODE_PAYOUT_NO_SEND", 500126, "交易未发送", "交易未发送");
	public static final RspCodeEnum PAY_CODE_ILLEGAL_FORMAT_RSP = build("PAY_CODE_ILLEGAL_FORMAT_RSP", 500127, "响应格式不正确", "响应格式不正确");
	public static final RspCodeEnum PAY_BATCH_ITEM_CONFLICT = build("PAY_BATCH_ITEM_CONFLICT", 500128, "该批次下的订单在其他批次中存在", "该批次下的订单在其他批次中存在");
	public static final RspCodeEnum PAY_CODE_BATCH_PAYIN_FAIL = build("PAY_CODE_BATCH_PAYIN_FAIL", 500129, "批量代扣失败", "批量代扣失败");
	public static final RspCodeEnum PAY_CODE_ILLEGAL_PAYTYPE = build("PAY_CODE_ILLEGAL_PAYTYPE", 500130, "非法的支付类型", "非法的支付类型");
	public static final RspCodeEnum PAY_CODE_PAY_ORDER_PAID = build("PAY_CODE_PAY_ORDER_PAID", 500131, "订单已经支付", "订单已经支付");
	public static final RspCodeEnum PAY_CODE_SEND_VARIFY_CODE_COOL_DOWN = build("PAY_CODE_SEND_VARIFY_CODE_COOL_DOWN", 500132, "获取短信验证冷却中",
			"获取短信验证冷却中");

	public static final RspCodeEnum PAY_CODE_ORDER_NOT_FOUND = build("PAY_CODE_ORDER_NOT_FOUND", 500133, "订单不存在", "订单不存在");

	public static final RspCodeEnum PAY_CODE_MERCHANT_CONFIG_ILLEGAL = build("PAY_CODE_MERCHANT_CONFIG_ILLEGAL", 500134, "商户配置信息异常", "商户配置信息异常");

	public static final RspCodeEnum PAY_CODE_INFO_UNPAY = build("PAY_CODE_INFO_UNPAY", 500137, "订单未支付", "订单未支付");

	public static final RspCodeEnum PAY_CODE_WARN_ILLEGAL_VALID_CODE = build("PAY_CODE_WARN_ILLEGAL_VALID_CODE", 500140, "验证码异常", "验证码异常");

	/** 请求超时 */
	public static final RspCodeEnum PAY_CODE_REQ_TIME_OUT = build("PAY_CODE_REQ_EXPIRE", 500210, "请求超时", "请求超时");
	/** 处理中/挂起状态，用于处理订单不稳定的状态 */
	public static final RspCodeEnum PAY_CODE_DEALING = build("PAY_CODE_DEALING", 500211, "处理中/挂起", "处理中/挂起");

	public static final RspCodeEnum PAY_CODE_ACCEPTED = build("PAY_CODE_ACCEPTED", 500212, "已受理", "已受理");

	public static final RspCodeEnum PAY_CODE_MERCHANT_NOT_EXISTS = build("PAY_CODE_MERCHANT_NOT_EXISTS", 500001, "商户不存在/无效", "商户不存在/无效");
	public static final RspCodeEnum PAY_CODE_SINGLEQUOTA_ERROR = build("PAY_CODE_SINGLEQUOTA_ERROR", 500002, "单笔限额（分）必须大于等于0", "单笔限额（分）必须大于等于0");
	public static final RspCodeEnum PAY_CODE_MONTHQUOTA_ERROR = build("PAY_CODE_SINGLEQUOTA_ERROR", 500003, "单月限额（分）必须大于等于0", "单笔限额（分）必须大于等于0");
	public static final RspCodeEnum PAY_CODE_DAYQUOTA_ERROR = build("PAY_CODE_SINGLEQUOTA_ERROR", 500004, "单日限额（分）必须大于等于0", "单日限额（分）必须大于等于0");
	public static final RspCodeEnum PAY_CODE_PRIPORITY_ERROR = build("PAY_CODE_PRIPORITY_ERROR", 500005, "优先级必须大于等于0", "优先级必须大于等于0");
	public static final RspCodeEnum PAY_CODE_FOURELEMENT_ERROR = build("PAY_CODE_FOURELEMENT_ERROR", 500006,
			"参数merchantCode,paymentCode,merchantCode,payMode必须同时为空或同时不为空", "参数merchantCode,paymentCode,merchantCode,payMode必须同时为空或同时不为空");
	public static final RspCodeEnum PAY_CODE_PAYMENTCODE_ERROR = build("PAY_CODE_PAYMENTCODE_ERROR", 500007, "参数paymentCode不在枚举类型中",
			"参数paymentCode不在枚举类型中");
	public static final RspCodeEnum PAY_CODE_PAYMODE_ERROR = build("PAY_CODE_PAYMODE_ERROR", 500008, "参数payMode不在枚举类型中", "参数payMode不在枚举类型中");
	public static final RspCodeEnum PAY_CODE_PAYTYPE_ERROR = build("PAY_CODE_PAYTYPE_ERROR", 500009, "参数payType不在枚举类型中", "参数payType不在枚举类型中");

	public static final RspCodeEnum PAY_CODE_MERCHANT_EDIT_ERROR = build("PAY_CODE_MERCHANT_EDIT_ERROR", 500300, "商户新增异常", "商户新增异常");
	public static final RspCodeEnum PAY_CODE_USER_AUTH_NOT_FOUND = build("PAY_CODE_USER_AUTH_NOT_FOUND", 500301, "用户认证信息不存在", "用户认证信息不存在");
	public static final RspCodeEnum PAY_CODE_GET_PAY_WITHOUT_VERIFY_FAIL = build("PAY_CODE_GET_PAY_WITHOUT_VERIFY_FAIL", 500302, "获取独立鉴权失败", "获取独立鉴权失败");


	// 构造函数
	public PayRspCodeEnum(String name, int value, String remark, String display) {
		super(name, value, remark, display);
	}
}
